window 操作系统下在本机安装mongodb数据库的简单教程


请先知:window 操作系统下在本机安装mongodb数据库的简单教程

跟往常一样,先上官网

mongodb官网

  1. 在官网下载安装包(.zip包或.msi),笔者是安装的压缩包)(v-4.0.7)

  2. 解压缩包在某个目录下(如:D:\servers\mongodb-win32-x86_64-2008plus-ssl-4.0.7

  3. 新建必要目录

    1
    2
    3
    4
    5
    cd D:\servers\mongodb-win32-x86_64-2008plus-ssl-4.0.7\
    mkdir data
    cd data
    mkdir db
    mkdir log
  4. 创建配置文件 mongod.cfg,文件内容如下:

    1
    2
    3
    4
    5
    systemLog:
    destination: file
    path: D:\\servers\\mongodb-win32-x86_64-2008plus-ssl-4.0.7\\data\\log\\mongodb.log
    storage:
    dbPath: D:\\servers\\mongodb-win32-x86_64-2008plus-ssl-4.0.7\\data\db
  5. 安装MongoDB服务

    1
    2
    3
    cd D:\servers\mongodb-win32-x86_64-2008plus-ssl-4.0.7\bin\
    D:\servers\mongodb-win32-x86_64-2008plus-ssl-4.0.7\bin\ mongod.exe --config "D:\servers\mongodb-win32-x86_64-2008plus-ssl-4.0.7\mongod.cfg" --install --auth
    其中,参数 `auth` 意味着开启权限认证,即连接数据库时需要用户名和密码(用命令行创建即可,后面会提到,怎么创建和修改等);
  6. 启动、关闭和移除MongoDB服务

    1
    2
    3
    net start MongoDB (启动成功后,可以在资源管理器中查看`MonDB`服务)
    net stop MongoDB
    D:\servers\mongodb-win32-x86_64-2008plus-ssl-4.0.7\bin\mongod.exe --remove
  7. 创建用户
    定位到D:\servers\mongodb-win32-x86_64-2008plus-ssl-4.0.7\bin\,使用mongo.exe进入mongodb的命令行管理。
    键入命令:

    1
    2
    3
    >use admin
    >db.createUser({user: "root", pwd: "123456", roles:["userAdminAnyDatabase"]}) (新版的 3.0+)
    好了,现在我们已经为mongodb设置了一个全局用户root(因为使用了表admin),接下来先重启mongodb,使创建的用户生效。
  8. 用户登录
    用命令行进入管理端(同上)

    1
    2
    use admin
    db.auth('root', '123456'); # 使用root身份登录
  9. 如何创建数据库用户
    首先保证你已经以用户管理员的身份登录 admin 数据库。然后用 use 命令切换到目标数据库,同样用 db.createUser() 命令来创建用户,其中角色名为 “readWrite”。
    普通的数据库用户角色有两种,read 和 readWrite。顾名思义,前者只能读取数据不能修改,后者可以读取和修改。
    下面是一个例子:

    1
    2
    3
    4
    5
    6
    7
    8
    > use test # 创建数据库test
    > show dbs # 显示数据库
    switched to db test
    > db.createUser({user:"wind",pwd:"123456",roles:["readWrite"]})
    Successfully added user: { "user" : "testuser", "roles" : [ "readWrite" ] }
    > db.auth("wind","123456")
    1
    # 这样 MongoDB 的数据安全性就得到保障了,没有登录的客户端将无法执行任何命令。

最后,推荐一个牛逼的客户端Studio 3T